package com.navi.loaddata.loadService;

import com.navi.loaddata.core.mysqlEntity.EtlConfD;
import com.navi.loaddata.core.mysqlEntity.EtlConfDModel;

import java.sql.SQLException;
import java.util.List;

/**
 *
 * @author Jay
 * @date 2018/3/10
 */
public interface IEtlConfServices {
    List<EtlConfD> getEtlConf(String projectName, String jobGroupName, String jobName);

    /**
     * Job开始的前置处理
     * @param etlConfD
     * @return
     */
    EtlConfD beginJob(EtlConfD etlConfD) ;

    /**
     * Job结束的后置处理 & save his
     * @param etlConfD
     * @return
     */
    EtlConfD endJob(EtlConfD etlConfD);

    /**
     *
     * @param etlConfD
     * @return
     */
    EtlConfD getNewConf(EtlConfD etlConfD);

    void addHis(EtlConfD etlConfD,String flg);

    void sendEmail(EtlConfD etlConfD,String errMsg) throws Exception;

    EtlConfD getReloadJob(EtlConfD etlConfD) throws Exception;

    //DEFECT汇总表重跑,重跑Job信息获取
    EtlConfD getRPTReloadJob(EtlConfD etlConfD) throws  Exception;

    int saveReloadJob(EtlConfD etlConfD);

    //etlConfDModel
    EtlConfDModel endJobOfModel(EtlConfD etlConfD);

    void addHisOfModel(EtlConfDModel etlConfDByOpe, String errMsg);
}
